import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

/* Layout */
import Layout from '@/layout'

/**
  * 注意: 子菜单只在路由子菜单时出现。长度 > = 1
  * 详情见: https://panjiachen.github.io/vue-element- admin-site/guide/essentials/rouand nav.html
  * hidden: true 如果设置为true，项目将不会显示在侧栏中(默认为false)
  * alwaysShow: true 如果设置为true，将始终显示根菜单。如果不设置alwaysShow，当项目有多个子路由时，它将成为嵌套模式，否则不显示根菜单
  * redirect: noRedirect如果设置noRedirect将不会在面包屑重定向
  * name: 'router-name'这个名字被 < keep - alive > (必须设置!!)
  * meta: {
  *        roles: ['admin'，'editor']控制页面角色(可以设置多个角色)
  *        title: 'title' 侧栏和breadcrumb中显示的名称(推荐集)
  *        icon: 'svg-name' 图标显示在侧栏
  *        breadcrumb: false  如果设置为false，则该项将隐藏在breadcrumb中(默认为true)
  *        activeMenu: '/example/list'  如果设置了路径，侧边栏将突出显示您设置的路径
  *       }
  */

/**
 * 公共路由设置：
 *  1.没有权限要求的页面
 *  2.所有角色都可以访问
 */
export const constantRoutes = [
  { path: '/login', component: () => import('@/views/login/index'), hidden: true },
  { path: '/404', component: () => import('@/views/404'), hidden: true },
  { path: '/', component: Layout, redirect: '/dashboard',
    children: [
      { path: 'dashboard', name: 'Dashboard', component: () => import('@/views/dashboard/index'), meta: { title: 'Dashboard', icon: 'dashboard' }}
    ]
  },
  // 404 page 必须配置在最后面
  { path: '*', redirect: '/404', hidden: true }
]

const router = new Router({
  mode: 'hash', // hash/history （需要浏览器支持）
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})

export default router
